Firewall Physique DIY avec Modules Électroniques

Construisez un pare-feu réseau intelligent avec surveillance visuelle et contrôles physiques, à base de Raspberry Pi et d'électronique accessible.

🎯 Objectif Complet

Créer un système de sécurité réseau tout-en-un avec :

🛠️ Matériel Requis

Composants Principaux

  • Raspberry Pi 4 (4GB+)
  • Carte microSD 32GB (avec Raspberry Pi OS)
  • 2× Adaptateurs Ethernet USB 3.0

Modules Électroniques

  • LEDs 5mm (rouge/vert) + Résistances 220Ω
  • Écran OLED I2C 0.96"
  • Interrupteur à bascule + Relais 5V
  • Capteur de température DS18B20

Option Design

  • Boîtier acrylique pour découpe laser
  • Ruban LED adressable WS2812B

🔧 Architecture du Système

[Internet] ⇄ eth0 (Raspberry Pi) ⇄ eth1 [Réseau Local]
├── GPIO18 → LED Verte (Trafic)
├── GPIO23 → LED Rouge (Alertes)
├── I2C → Écran OLED
└── GPIO24 → Interrupteur Kill-Switch

🚀 Mise en Œuvre Pas à Pas

1. Installation de Base

sudo apt update && sudo apt full-upgrade -y
sudo apt install iptables python3-gpiozero

2. Configuration Réseau & Pare-feu

Activation du routage et NAT :

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sysctl -w net.ipv4.ip_forward=1

3. Intégration Électronique

# Schéma de câblage complet
Écran OLED : SDA → GPIO2, SCL → GPIO3
LEDs : GPIO18/23 → 220Ω → GND
Interrupteur : GPIO24 → GND

Script de Surveillance


from gpiozero import LED, Button
from luma.oled.device import ssd1306

led_ok = LED(18)
led_alert = LED(23)
kill_switch = Button(24)
oled = ssd1306(i2c(port=1))

def update_display():
    oled.text(f"BLOCKED: {iptables.get_blocked()}", 0, 0)
    oled.show()

kill_switch.when_pressed = lambda: os.system("iptables -P INPUT DROP")
                

4. Personnalisation du Boîtier

Option Cyberpunk

  • Découpe laser motifs circuits imprimés
  • Ventilation active RGB

Option Industriel

  • Plaques métal brossé
  • Interrupteurs étanches

🔍 Test & Optimisation

# Test de sécurité
nmap -Pn 192.168.1.1
# Surveillance thermique
vcgencmd measure_temp

💡 Maintenance Évolutive